Refactoring Delta-Oriented Product Lines to achieve Monotonicity

نویسندگان

  • Ferruccio Damiani
  • Michael Lienhardt
چکیده

Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules to a (possibly empty) base program. These operations can add, remove or modify named elements in a program (e.g., classes, methods and fields in a Java program). This paper presents algorithms for refactoring a delta-oriented product line into monotonic form, i.e., either to contain add and modify operations only (monotonic increasing) or to contain remove and modify operations only (monotonic decreasing). Because of their simpler structure, monotonic delta-oriented product lines are easier to analyze. The algorithms are formalized by means of a core calculus for DOP of product lines of Java programs and their correctness and complexity are given.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compositional Type-Checking of Delta-oriented Product Lines∗

Delta-oriented programming (DOP) is a compositional approach to flexibly implement software product lines. A delta-oriented product line is realized by a code base and a product line declaration. The code base consists of delta modules comprising modifications of object-oriented programs. The product line declaration defines how these modifications have to be combined to generate all possible p...

متن کامل

Delta-Oriented Programming of Software Product Lines

Feature-oriented programming (FOP) implements software product lines by composition of feature modules. It relies on the principles of stepwise development. Feature modules are intended to refer to exactly one product feature and can only extend existing implementations. To provide more flexibility for implementing software product lines, we propose delta-oriented programming (DOP) as a novel p...

متن کامل

Refactoring Java So ware Product Lines

Refactoring is a staple of Object-Oriented (OO) program development. It should be a staple of OO Software Product Line (SPL) development too. X15 is the rst tool to support the refactoring of Java SPL codebases. X15 (1) uses Java custom annotations to encode variability in feature-based Java SPLs, (2) projects a view of a SPL product (a program that corresponds to a legal SPL con guration), and...

متن کامل

Evolving Delta-Oriented Software Product Line Architectures

Diversity is prevalent in modern software systems. Several system variants exist at the same time in order to adapt to changing user requirements. Additionally, software systems evolve over time in order to adjust to unanticipated changes in their application environment. In modern software development, software architecture modeling is an important means to deal with system complexity by archi...

متن کامل

Parametric DeltaJ 1.5: Propagating Feature Attributes into Implementation Artifacts

Systematic reuse of software artifacts can be achieved with software product lines, which represent a family of similar software systems. A variability model, e.g., feature model, describes their commonalities and variabilities and serves as a basis for a product configuration, i.e., the selection of features according to constraints defined in the model. These variability models can contain ad...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016